इस लेख में, मैं दिखाना चाहता हूं कि हम आसानी से अपना पहला निजी एनपीएम पैकेज कैसे बना सकते हैं।
हम GitHub पर एक निजी पैकेज बनाने और प्रकाशित करने जा रहे हैं, इसलिए सुनिश्चित करें कि आप इस लेख को शुरू करने से पहले किसी और चीज से परिचित हो गए हैं। तो चलो शुरू करते है।
पूर्वापेक्षाएँ:
एक GitHub खाता बनाएं ( यदि आपके पास अभी तक नहीं है )
लेख पढ़ें टाइपस्क्रिप्ट के साथ नोड एक्सप्रेस कैसे सेटअप करें
लेख पढ़ें गिटहब क्रियाओं के साथ स्क्रैच से सीआई सीडी पाइपलाइन कैसे सेटअप करें ( मैं दृढ़ता से अनुशंसा करता हूं कि आप इस लेख को यह समझने के लिए पढ़ें कि यदि आप गिटहब क्रियाओं से परिचित नहीं हैं तो गिटहब क्रियाएं कैसे काम करती हैं )
निजी एनपीएम पैकेज क्या है और इसका उपयोग कहां किया जा सकता है?
परियोजना संरचना
math-lib/ --.github/ --workflows/ --main.yml --build/ this is autogenerated folder --src/ --app.ts --types/ --index.d.ts --.gitignore --package.json --tsconfig.json
चरण 1: टाइपस्क्रिप्ट के साथ एक Node.js प्रोजेक्ट शुरू करें।
नोट: आप इस लेख का अनुसरण करके यह सीख सकते हैं कि टाइपस्क्रिप्ट के साथ नोड एक्सप्रेस कैसे सेटअप करें या आप इस रेपो को क्लोन कर सकते हैं https://github.com/YuraAbharian/node-express-typescript
चरण 2: अब GitHub क्रियाएँ कार्यप्रवाह बनाएँ।
एक .github/workflows
निर्देशिका बनाएँ
.github/workflows
निर्देशिका में, एक main.yml
फ़ाइल बनाएँ
आप इस लेख का अनुसरण करके गिटहब एक्शन वर्कफ़्लो से परिचित हो सकते हैं गिटहब के साथ स्क्रैच से सीआई सीडी पाइपलाइन कैसे सेटअप करें
आइए कुछ कॉन्फ़िगरेशन जोड़ें:
name: Node.js Private Package on: push: branches: - master jobs: publish-gpr: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: '14.x' registry-url: 'https://npm.pkg.github.com/' - run: npm install - run: npm run build - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}
नोट : GITHUB_TOKEN याद रखें, हम इसके बारे में थोड़ी देर बाद बात करेंगे
चरण 3: आइए src/app.ts
फ़ाइल बनाएं/अपडेट करें
export function sum(a: number, b: number): number { return a + b; } export function minus(a: number, b: number): number { return a - b; } export function divide(a: number, b: number): number { return a / b; } export function multiple(a: number, b: number): number { return a * b; }
चरण 4: अब हमें अपने पैकेज के लिए एक मॉड्यूल घोषित करने की आवश्यकता है
अपनी परियोजना के मूल में एक types
की निर्देशिका बनाएँ
types
निर्देशिका में एक index.d.ts
फ़ाइल बनाएँ
इस मॉड्यूल के लिए घोषित प्रकार जोड़ें
declare module "@GITHUB_USERNAME/PACKAGE_NAME" { function sum(a: number, b: number): number; function minus(a: number, b: number): number; function divide(a: number, b: number): number; function multiple(a: number, b: number): number; }
टिप्पणी:
- GITHUB_USERNAME यह आपका जीथब उपयोगकर्ता नाम है
- PACKAGE_NAME यह आपका निजी पैकेज नाम है
उदाहरण: "@yuraabharian/math-lib"
चरण 5: चलिए package.json फ़ाइल पर काम करते हैं
{ "name": "@GITHUB_USERNAME/PACKAGE_NAME", "version": "1.0.0", "description": "", "main": "./build/app.js", "author": "", "license": "ISC", "types": "./types/index.d.ts", "publishConfig": { "registry": "https://npm.pkg.github.com/" }, "repository": { "url": "git://github.com/GITHUB_USERNAME/PACKAGE_NAME.git" }, "scripts": { "build": "npx tsc" }, "devDependencies": { "@types/node": "^18.0.0", "typescript": "^4.7.4" } }
उदाहरण: git://github.com/yuraabharian/math-lib.git (यह आपके लिए GitHub रिपॉजिटरी का लिंक होगा)
नोट: ये @GITHUB_USERNAME/PACKAGE_NAME फाईड चरण 4 के समान ही हैं
चरण 6: कोड को आगे बढ़ाने से पहले हमारे रिपॉजिटरी वातावरण को कॉन्फ़िगर करें
चरण 2 में मैंने आपको GITHUB_TOKEN याद रखने के लिए कहा क्योंकि यह चर बहुत महत्वपूर्ण है।
GitHub Repository - Settings
स्टेप 7: इसके बाद Secrets
पर जाएं
चरण 8: Actions
खोलें
New repository secret
क्लिक करें
आवश्यक: इस लिंक का अनुसरण करें https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token एक नया टोकन बनाने के लिए।
नोट: GITHUB_TOKEN को कहीं और सहेजें क्योंकि हमें इस लेख के भाग 2 में उनकी आवश्यकता होगी ।
नोट: इस टोकन के लिए केवल write:packages
एक्सेस दें
चरण 9: अब हमारे कोड को GitHub पर धकेलते हैं
चरण 10: रिपॉजिटरी खोलें → क्रियाएँ और आपको देखना चाहिए कि आपका पैकेज तैनात किया गया है
चरण 11: अपना पैकेज खोजने के लिए, अपने GitHub प्रोफ़ाइल → पैकेज पर जाएं
पहले भाग का निष्कर्ष: इस बिंदु पर आपको अपना पैकेज परिनियोजित देखना चाहिए
इस लेख के दूसरे भाग में, हम सीखेंगे कि निजी पैकेज कैसे स्थापित करें क्योंकि इसके लिए npm install package
के अलावा कुछ क्रियाओं की आवश्यकता होती है।
चरण 1: Node.js प्रोजेक्ट सेट करें
नोट: आप इसे भाग 1 → चरण 1 में देख सकते हैं
चरण 2: फिर परियोजना के मूल में अपने पैकेज को इन्सॉल करें। आपके पैकेज का लिंक आप GitHub प्रोफाइल → पैकेज → मैथ-लिब द्वारा ले सकते हैं (यह आपका पैकेज नाम है)
चरण 3: अब src/app.ts फाइल पर जाएं और इसे अपडेट करें
import express, {Application, Request, Response} from 'express'; import {sum, minus, multiple, divide} from '@yuraabharian/math-lib'; const app: Application = express(); const PORT: number = 3001; app.use('/sum', (req: Request, res: Response): void => { res.send(`RESULT: ${sum(5, 2)}`, ); }); app.use('/minus', (req: Request, res: Response): void => { res.send(`RESULT: ${minus(2, 2)}`); }); app.use('/multiple', (req: Request, res: Response): void => { res.send(`RESULT: ${multiple(12, 2)}`); }); app.use('/divide', (req: Request, res: Response): void => { res.send(`RESULT: ${divide(10, 2)}`); }); app.listen(PORT, (): void => { console.log('SERVER IS UP ON PORT:', PORT); });
नोट: ध्यान रखें कि मैं आपके टेम्पलेट को @GITHUB_USERNAME/PACKAGE_NAME जैसा दिखने के लिए अपने @yuraabharian/math-lib रिपॉजिटरी से मैथ-लिब इंपोर्ट कर रहा हूं।
चरण 4: अपना प्रोजेक्ट चलाएँ npm start
node-express-typescript % npm start > [email protected] start > npx tsc && node build/app.js SERVER IS UP ON PORT: 3001
चरण 5 : अपने ब्राउज़र पर जाएं और http://localhost:3001/sum . खोलें
यह काम करता है, तो आइए अब सभी विधियों का परीक्षण करें:
सारांश: इस लेख में, हमने आपका पहला निजी npm पैकेज बनाया और परीक्षण किया, मुझे आशा है कि आपको मेरा लेख पसंद आया होगा। यदि आपके कोई प्रश्न हैं, तो आप मुझसे ईमेल, लिंक्डइन या टिप्पणियों के माध्यम से संपर्क कर सकते हैं। शुभकामनाएँ